package com.cdu.guoxinan.www.smartcom.mapper;

import com.cdu.guoxinan.www.smartcom.domian.dto.UserFeeQueryDTO;
import com.cdu.guoxinan.www.smartcom.domian.pojo.Fee;
import com.cdu.guoxinan.www.smartcom.domian.vo.FeeStatisticsVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface UserFeeMapper {
    
    /**
     * 查询用户费用列表
     */
    List<Fee> queryUserFees(UserFeeQueryDTO queryDTO);
    
    /**
     * 获取用户费用统计
     */
    FeeStatisticsVO getUserFeeStatistics(@Param("userId") Long userId);
    
    /**
     * 更新费用状态为已缴
     */
    int updateFeeAsPaid(@Param("feeId") Long feeId, @Param("paymentMethod") Integer paymentMethod);
    
    /**
     * 根据费用ID查询费用详情
     */
    Fee getFeeById(@Param("feeId") Long feeId);
    
    /**
     * 根据用户ID查询居民信息
     */
    Long getResidentIdByUserId(@Param("userId") Long userId);
} 